/*
 * Comunicador.h
 *
 *  PEREIRA, FERNANDO ROQUE
 *  91610
 *
 *  Entidad encargada del manejo del protocolo de comunicacion del sistema.
 *  Posee un socket desde el cual se envian y reciben los mensajes pertinentes.
 */

#ifndef COMUNICADOR_H_
#define COMUNICADOR_H_

#include "SocketCliente.h"
#include <queue>
#include <string>

class Comunicador {
	SocketCliente* socket;
	std::queue<std::string> bufferMensajes;

	public:
		Comunicador();
		Comunicador(const int sockFd);
		virtual ~Comunicador();

		int enviarMensaje(const char* message, unsigned int len);
		int recibirMensaje(std::string& buffer);
		int conectar(int numeroPuerto, const char* ip);
		int cerrarComunicacion();

		bool hayMensajesGuardados();
};

#endif
